Dodaje rekord lub rekordy do tabeli. Odwo│ania do niej nastΩpuj╣ jako do kwerendy do│╣czaj╣cej.
Kwerenda do│╣czaj╣ca wiele rekord≤w:
INSERT INTO cel [(pole_1[,pole_2[, ...]])] [IN zewnΩtrzna_baza_danych]
SELECT [ƒr≤d│o.] pole_1[,pole_2[, ...]
FROM wyra┐enie_tabelowe
Kwerenda do│╣czaj╣ca pojedynczy rekord:
INSERT INTO cel [(pole_1[,pole_2[, ...]])]
VALUES (warto£µ_1[,warto£µ_2[, ...])
Sk│adnia instrukcji INSERT zawiera nastΩpuj╣ce elementy:
Element | Opis |
---|---|
cel | Nazwa tabeli lub kwerendy, do kt≤rej maj╣ byµ do│╣czone rekordy. |
pole_1, pole_2 | Nazwy p≤l, do kt≤rych bΩd╣ do│╣czane dane, je£li wystΩpuj╣ po argumencie cel, lub te┐ nazwy p≤l, z kt≤rych bΩd╣ pobierane dane, je£li wystΩpuj╣ po argumencie ƒr≤d│o. |
zewnΩtrzna_baza_danych | îcie┐ka do zewnΩtrznej bazy danych. Opis £cie┐ki mo┐na znaleƒµ pod has│em IN. |
ƒr≤d│o | Nazwa tabeli lub kwerendy, z kt≤rej bΩd╣ kopiowane rekordy. |
wyra┐enie_tabelowe | Nazwa tabeli lub tabel, z kt≤rych pobierane s╣ rekordy. Ten argument mo┐e byµ nazw╣ pojedynczej tabeli, lub wynikiem dzia│ania instrukcji INNER JOIN, LEFT JOIN, lub operacji RIGHT JOIN b╣dƒ zachowanej kwerendy. |
warto£µ_1, warto£µ_2 | Warto£ci, kt≤re maj╣ byµ umieszczone w okre£lonych polach nowego rekordu. Ka┐da warto£µ jest umieszczana w polu, kt≤re odpowiada pozycji warto£ci na li£cie: warto£µ_1 zostaje umieszczona w polu_1 nowego rekordu, warto£µ_2 w polu_2, i tak dalej. Warto£ci musz╣ byµ oddzielone przecinkami, za£ pola tekstowe musz╣ byµ ujΩte w cudzys│≤w (' '). |
Aby dodaµ do tabeli pojedynczy rekord, mo┐na skorzystaµ z instrukcji INSERT INTO, u┐ywaj╣c przytoczonej wy┐ej sk│adni kwerendy do│╣czaj╣cej pojedynczy rekord. W takim przypadku nazwa i warto£µ ka┐dego pola rekordu jest okre£lona w kodzie. Nale┐y okre£liµ ka┐de z p≤l rekordu, kt≤rego warto£µ ma zostaµ zmieniona, oraz warto£µ tego pola. W przypadku, gdy nie wszystkie pola s╣ wymienione, warto£µ domy£lna Null jest przyjmowana dla pominiΩtych kolumn. Rekordy s╣ dodawane na ko±cu tabeli.
Mo┐na te┐ u┐yµ instrukcji INSERT INTO, aby dodaµ zestaw rekord≤w z innej tabeli lub kwerendy przez u┐ycie klauzuli SELECT ... FROM jak pokazano powy┐ej w sk│adni kwerendy do│╣czaj╣cej wiele rekord≤w. W takim przypadku klauzula SELECT okre£la pola, kt≤re maj╣ zostaµ do│╣czone do podanej tabeli cel.
Tabele ƒr≤d│o i cel mog╣ okre£laµ zar≤wno tabelΩ, jak i kwerendΩ. Je£li okre£lono kwerendΩ, aparat baz danych Microsoft Jet do│╣cza rekordy do wszystkich tabel okre£lonych w kwerendzie.
Instrukcja INSERT INTO jest nieobowi╣zkowa, lecz je£li wystΩpuje, to musi poprzedzaµ instrukcjΩ SELECT.
Je£li tabela docelowa zawiera klucz podstawowy, nale┐y zadbaµ o to, aby dodawaµ unikatowe warto£ci, nie bΩd╣ce warto£ci╣ Null do pola lub p≤l klucza podstawowego; w przeciwnym wypadku aparat baz danych Microsoft Jet nie doda tych rekord≤w.
Je£li do│╣czasz rekordy do tabeli z polem Autonumer i chcesz przenumerowaµ do│╣czone rekordy, nie do│╣czaj pola Autonumer w kwerendzie. Pole Autonumer powinno byµ w│╣czone do kwerendy, je£li maj╣ byµ zachowane oryginalne warto£ci tego pola.
Klauzula IN s│u┐y do do│╣czania rekord≤w do tabeli znajduj╣cej siΩ w innej bazie danych.
Aby utworzyµ now╣ tabelΩ, nale┐y zamiast kwerendy tworz╣cej tabelΩ u┐yµ instrukcji SELECT... INTO.
Aby przed uruchomieniem kwerendy do│╣czaj╣cej dowiedzieµ siΩ, kt≤re rekordy zostan╣ do│╣czone, nale┐y najpierw wykonaµ i obejrzeµ wyniki kwerendy wybieraj╣cej, u┐ywaj╣c tych samych kryteri≤w wyboru.
Kwerenda do│╣czaj╣ca kopiuje rekordy z jednej lub wielu tabel do innej tabeli. Tabele, kt≤re zawieraj╣ rekordy, nie s╣ zmieniane przez kwerendΩ do│╣czaj╣c╣.
Zamiast do│╣czaµ istniej╣ce rekordy z innej tabeli, mo┐na okre£liµ warto£µ ka┐dego pola w pojedynczym nowym rekordzie, u┐ywaj╣c do tego celu klauzuli VALUES. Je£li pominiΩto listΩ p≤l, to klauzula VALUES musi zawieraµ warto£µ dla ka┐dego pola tabeli; w przeciwnym przypadku operacja INSERT nie powiedzie siΩ. Instrukcji INSERT INTO z klauzul╣ VALUES nale┐y u┐yµ do do│╣czenia ka┐dego nowego rekordu.
INSERT INTO û przyk│ad instrukcji